CS450
INSTRUCTOR: GEORGE KOUTSOGIANNAKIS
MIPS INSTRUCTION SET


Computer Architecture


MIPS Instruction Set Summary


Note the summary is not complete. See a text for the complete list.

Arithmetic Instructions

Instruction Example Meaning Comments
add add $1,$2,$3 $1=$2+$3 Always 3 operands
subtract sub $1,$2,$3 $1=$2-$3 Always 3 operands
add immediate addi $1,$2,10 $1=$2+10 add constant
add unsigned addu $1,$2,$3 $1=$2+$3 Always 3 operations
subtract unsigned subu $1,$2,$3 $1=$2-$3 Always 3 operations
add immed.unsigned addiu $1,$2,10 $1=$2+10 Always 3 operations

Logical

Instruction Example Meaning Comments
and and $1,$2,$3 $1=$2&$3 3 register operands
or or $1,$2,$3 $1=$2|$3 3 register operands
and immediate andi $1,$2,10 $1=$2&10 AND constant
or immediate or $1,$2,10 $1=$2|10 OR constant
shift left logical sll $1,$2,10 $1=$2<<10 Shift left by constant
shift right logical srl $1,$2,10 $1=$2>>10 Shift right by constant

Data Transfer

Instruction Example Meaning Comments
load word lw $1,10($2) $1=Memory[$2+10] memory to register
store word sw $1,10($2) Memory[$2+10]=$1 register to memory
load upper immed. lui $1,10 $1=10x2^16 load constant into upper 16 bits

Conditional Branch

Instruction Example Meaning Comments
branch on equal beq $1,$2,10 if($1==$2)go to PC+4+10 Equal test
branch on not equal bne $1,$2,10 if($1!=$2)go to PC+4+10 Not equal test
set on less then slt $1,$2,$3 if($2<$3)$1=1;else $1=0 Less than compare

Unconditional Jump

Instruction Example Meaning Comments
jump j 1000 go to 1000 Jump to target address
jump register jr $31 go to $31 For switch, procedure return
jump and link jal 1000 $31=PC+4;go to 1000 For procedure call